#!/usr/bin/env bash
set -eu -o pipefail

# install test dependencies once before running tests for each package. This
# reduces the runtime from 200s down to 23s
go test -i "$@"

echo "mode: atomic" > coverage.txt
for pkg in "$@"; do
    ./scripts/test/unit \
        -cover \
        -coverprofile=profile.out \
        -covermode=atomic \
        "${pkg}"

    if test -f profile.out; then
        grep -v "^mode:" < profile.out >> coverage.txt || true
        rm profile.out
    fi
done
